﻿using Abp.Application.Services;
using FwProject.Product.Dto;
using FwProject.ShopApplication;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace FwProject.Product
{
    /// <summary>
    /// 产品类别
    /// </summary>
    public interface IProductTypeAppService: IApplicationService
    {
        /// <summary>
        /// 获取产品类别数据
        /// </summary>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <param name="keyword"></param>
        /// <returns></returns>
        Task<LayerDataBaseDto> GetLayerDataAsync(int page, int limit, string keyword);
        /// <summary>
        /// 获取一个类别
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ProductTypeInput> GetEnterDtoAsync(Guid id);
        /// <summary>
        /// 创建一个类别
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<Guid> CreateAsync(ProductTypeInput input);
        /// <summary>
        /// 修改一个类别
        /// </summary>
        /// <param name="id"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<Guid> ModifyAsync(Guid id, ProductTypeInput input);
        /// <summary>
        /// 删除一个类别
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteAsync(Guid id);
        /// <summary>
        /// 查询一个类别
        /// </summary>
        /// <param name="keyword"></param>
        /// <returns></returns>
        SearchSuggestDto GetSearchSuggestData(string keyword);
    }
}
